package entity

import (
	"server/world/scene"
)

var _ scene.Entity = (*Item)(nil)

// Item 物品实体，实现Entity接口
type Item struct {
	Entity
	ItemID   string // 物品ID
	Quantity int    // 数量
}

// NewItem 创建新的物品实体
func NewItem(id int64, itemID string, quantity int, x, y float64) *Item {
	i := &Item{
		ItemID:   itemID,
		Quantity: quantity,
	}
	i.id = id
	i.x, i.y = x, y
	return i
}

// GetType 获取实体类型，实现Entity接口
func (i *Item) GetType() scene.EntityType {
	return scene.EntityTypeItem
}

// Remove 移动物品实例
func (i *Item) Remove() {
	if i.layer == nil {
		return
	}
	layer := i.layer
	layer.Remove(i, i.x, i.y)
}